package cn.mall.order.domain;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import cn.mall.base.domain.BaseDomain;
import cn.mall.goods.domain.Goods;
import cn.mall.org.domain.Manager;
import cn.mall.org.domain.Shop;
import cn.mall.user.domain.User;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

/**
 * <p>
 *
 * </p>
 *
 * @author myf
 * @since 2023-12-07
 */
@Data
public class Order extends BaseDomain{

    private static final long serialVersionUID = 1L;

    /**
     * 订单表ID
     */
    @JsonProperty("id")
    private Long id;
    /**
     * 商品id
     */
    @JsonProperty("sId")
    private Long sId;
    /**
     * 商家ID
     */
    @JsonProperty("ShopId")
    private Long ShopId;
    /**
     * 初始数据-点赞
     */
    @JsonProperty("sGood")
    private Integer sGood;
    /**
     * 初始-转发
     */
    @JsonProperty("sForward")
    private Integer sForward;
    /**
     * 初始-评论
     */
    @JsonProperty("sComment")
    private Integer sComment;
    /**
     * 初始-评论点赞
     */
    @JsonProperty("sFollow")
    private Integer sFollow;
    /**
     * 初始-视频播放
     */
    @JsonProperty("sVideo")
    private Integer sVideo;
    /**
     * 订单类型
     */
    @JsonProperty("oType")
    private Integer oType;
    /**
     * 用户ID
     */
    @JsonProperty("uId")
    private Long uId;
    /**
     * 完成度
     */
    @JsonProperty("Completion")
    private Integer Completion;
    /**
     * 唯一订单号 时间+id+uuid
     */
    @JsonProperty("oId")
    private String oId;
    /**
     * WB链接
     */
    @JsonProperty("url")
    private String url;


    /**
     * 订单数量
     */
    @JsonProperty("count")
    private Integer count;
    /**
     * 剩余量
     */
    private Integer surplus;
    /**
     * 订单总价
     */
    @JsonProperty("finalPrice")
    private BigDecimal finalPrice;
    /**
     * 微博用户名
     */
    @JsonProperty("refundNumber")
    private String refundNumber;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    private String createTime;

    @JsonProperty("sType")
    private Integer sType;

    private Goods goods;
    private Manager manager;
    private User user;

    @JsonProperty("completionSf")
    private Integer completionSf;

    @JsonProperty("completionSc")
    private Integer completionSc;

    @JsonProperty("completionSg")
    private Integer completionSg;

    @JsonProperty("surplusSf")
    private Integer surplusSf;

    @JsonProperty("surplusSc")
    private Integer surplusSc;

    @JsonProperty("surplusSg")
    private Integer surplusSg;

}
